﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Graphics;

namespace MapLibrary.Events
{
    public abstract class Event
    {
        protected GameWorld world;

        public Event(GameWorld world)
        {
            this.world = world;
        }

        /// <summary>
        /// Update this event.  The Event will look into the world
        /// for certain conditions to trigger.
        /// </summary>
        public abstract void Update();

        /// <summary>
        /// Perform the event action.
        /// </summary>
        public abstract void Act();

        /// <summary>
        /// Draw any information pertaining to this event
        /// on the screen.
        /// </summary>
        /// <param name="batch"></param>
        public abstract void Draw(SpriteBatch batch);
    }
}
